// 测试题目数据
const questions = [
    "你是否经常对伴侣撒谎？",
    "你是否同时与多人保持暧昧关系？",
    "你是否经常忘记重要的纪念日？",
    "你是否经常对伴侣使用冷暴力？",
    "你是否经常拿伴侣与他人比较？",
    "你是否经常忽视伴侣的感受？",
    "你是否经常承诺却从不兑现？",
    "你是否经常查看伴侣的手机？",
    "你是否经常对伴侣发脾气？",
    "你是否经常让伴侣感到不安？",
    "你是否经常与其他异性过于亲密？",
    "你是否经常让伴侣等待你的消息？",
    "你是否经常对伴侣的关心感到厌烦？",
    "你是否经常让伴侣感到自卑？",
    "你是否经常让伴侣感到孤独？",
    "你是否经常让伴侣感到不被重视？",
    "你是否经常让伴侣感到不被理解？",
    "你是否经常让伴侣感到不被尊重？",
    "你是否经常让伴侣感到不被爱？",
    "你是否经常让伴侣感到不被需要？"
];

// 全局变量
let currentQuestion = 0;
let userAnswers = [];
let userInfo = {};

// DOM元素
const disclaimerModal = document.getElementById('disclaimerModal');
const agreeBtn = document.getElementById('agreeBtn');
const userInfoSection = document.getElementById('userInfoSection');
const userInfoForm = document.getElementById('userInfoForm');
const testSection = document.getElementById('testSection');
const resultSection = document.getElementById('resultSection');
const progressBar = document.getElementById('progressBar');
const progressText = document.getElementById('progressText');
const questionText = document.getElementById('questionText');
const optionsContainer = document.getElementById('optionsContainer');
const nextBtn = document.getElementById('nextBtn');
const restartBtn = document.getElementById('restartBtn');

// 初始化
document.addEventListener('DOMContentLoaded', function() {
    // 免责声明同意按钮
    agreeBtn.addEventListener('click', function() {
        disclaimerModal.classList.add('hidden');
        userInfoSection.classList.remove('hidden');
    });

    // 用户信息表单提交
    userInfoForm.addEventListener('submit', function(e) {
        e.preventDefault();
        
        const nickname = document.getElementById('nickname').value.trim();
        const gender = document.getElementById('gender').value;
        const age = parseInt(document.getElementById('age').value);

        // 验证
        if (!nickname) {
            alert('请输入昵称！');
            return;
        }

        if (!gender) {
            alert('请选择性别！');
            return;
        }

        if (!age || age < 18 || age > 35) {
            alert('年龄必须在18-35岁之间！');
            return;
        }

        // 保存用户信息
        userInfo = { nickname, gender, age };
        
        // 显示测试区域
        userInfoSection.classList.add('hidden');
        testSection.classList.remove('hidden');
        
        // 开始测试
        showQuestion();
    });

    // 下一题按钮
    nextBtn.addEventListener('click', nextQuestion);

    // 重新测试按钮
    restartBtn.addEventListener('click', restartTest);
});

// 显示题目
function showQuestion() {
    if (currentQuestion >= questions.length) {
        showResult();
        return;
    }

    // 更新进度
    const progress = ((currentQuestion + 1) / questions.length) * 100;
    progressBar.style.width = `${progress}%`;
    progressText.textContent = `${currentQuestion + 1}/${questions.length}`;

    // 显示题目
    questionText.textContent = questions[currentQuestion];

    // 生成选项
    optionsContainer.innerHTML = '';
    const options = ['从不', '很少', '有时', '经常', '总是'];
    
    options.forEach((option, index) => {
        const button = document.createElement('button');
        button.className = 'option-btn';
        button.textContent = option;
        button.dataset.value = index;
        button.addEventListener('click', selectOption);
        optionsContainer.appendChild(button);
    });

    // 重置下一题按钮
    nextBtn.disabled = true;
}

// 选择选项
function selectOption(e) {
    // 移除其他选项的选中状态
    document.querySelectorAll('.option-btn').forEach(btn => {
        btn.classList.remove('selected');
    });

    // 添加选中状态
    e.target.classList.add('selected');
    
    // 启用下一题按钮
    nextBtn.disabled = false;
}

// 下一题
function nextQuestion() {
    const selectedOption = document.querySelector('.option-btn.selected');
    if (!selectedOption) {
        return;
    }

    // 保存答案
    userAnswers.push(parseInt(selectedOption.dataset.value));
    
    // 下一题
    currentQuestion++;
    showQuestion();
}

// 显示结果
function showResult() {
    testSection.classList.add('hidden');
    resultSection.classList.remove('hidden');

    // 计算总分
    const totalScore = userAnswers.reduce((sum, answer) => sum + answer, 0);

    // 显示用户信息
    document.getElementById('resultNickname').textContent = userInfo.nickname;
    document.getElementById('resultGender').textContent = userInfo.gender;
    document.getElementById('resultAge').textContent = userInfo.age;

    // 显示得分
    document.getElementById('scoreDisplay').textContent = `${totalScore}分`;
    
    // 确定等级
    let level, levelClass, description, advice;
    
    if (totalScore <= 15) {
        level = '绿色安全区';
        levelClass = 'level-safe';
        description = '恭喜你！你是一个值得信赖的伴侣，在感情中表现得非常成熟和负责任。';
        advice = '继续保持这种良好的品质，你的感情生活会更加幸福美满。';
    } else if (totalScore <= 30) {
        level = '黄色警示区';
        levelClass = 'level-warning';
        description = '你在某些方面还有改进的空间，需要注意自己的行为对伴侣的影响。';
        advice = '建议多与伴侣沟通，了解对方的需求和感受，努力改善自己的行为。';
    } else if (totalScore <= 45) {
        level = '橙色危险区';
        levelClass = 'level-danger';
        description = '你的行为已经对伴侣造成了一定的伤害，需要认真反思和改变。';
        advice = '建议寻求专业咨询或参加情感教育课程，学习如何建立健康的亲密关系。';
    } else {
        level = '红色高危区';
        levelClass = 'level-critical';
        description = '你的行为已经严重伤害了伴侣，需要立即停止并寻求专业帮助。';
        advice = '强烈建议寻求心理咨询师的帮助，学习如何尊重他人和建立健康的亲密关系。';
    }

    // 显示等级
    const levelDisplay = document.getElementById('levelDisplay');
    levelDisplay.textContent = level;
    levelDisplay.className = `text-lg font-semibold ${levelClass}`;

    // 显示描述和建议
    const levelDescription = document.getElementById('levelDescription');
    levelDescription.className = `mb-6 p-4 rounded-lg bg-gray-50`;
    levelDescription.innerHTML = `
        <h3 class="font-bold mb-2">${level}</h3>
        <p class="text-gray-700 mb-3">${description}</p>
        <p class="text-sm text-gray-600">${advice}</p>
    `;
}

// 重新测试
function restartTest() {
    // 重置所有变量
    currentQuestion = 0;
    userAnswers = [];
    userInfo = {};

    // 重置表单
    document.getElementById('nickname').value = '';
    document.getElementById('gender').value = '';
    document.getElementById('age').value = '';

    // 显示用户信息区域
    resultSection.classList.add('hidden');
    userInfoSection.classList.remove('hidden');
}